22 research outputs found

    Ein Modell zur effizienten Parallelisierung von Algorithmen auf komplexen, dynamischen Datenstrukturen

    Get PDF
    Moderne berechnungsintensive Algorithmen, beispielsweise adaptive numerische Lösungsverfahren für partielle Differentialgleichungen, arbeiten oftmals auf komplexen, dynamischen Datenstrukturen. Die Implementierung solcher Algorithmen auf Parallelrechnern mit verteiltem Speicher mittels Datenpartitionierung wirft zahlreiche Probleme auf (z.B. Lastverteilung). Im Rahmen der vorliegenden Arbeit wurde das neue parallele Programmiermodell Dynamic Distributed Data (DDD) entwickelt, durch das die Parallelisierungsarbeit vom Design der verteilten Datenstrukturen bis hin zur Erstellung des portablen, parallelen und effizienten Programmcodes unterstützt wird. Dem DDD-Konzept liegt ein graphbasiertes formales Modell zugrunde. Dabei wird die Datenstruktur des jeweiligen Programms (z.B. unstrukturierte Gitter) formal auf einen verteilten Graphen abgebildet, der aus mehreren lokalen Graphen besteht. Das formale Modell dient als Spezifikation des Programmiermodells und gleichzeitig zur Definition der wichtigen in dieser Arbeit verwendeten Begriffe. Der Systemarchitektur von DDD-basierten Anwendungen liegt ein Schichtenmodell zugrunde, den Kern stellt dabei die DDD-Programmbibliothek dar. Diese bietet Funktionen zur dynamischen Definition verteilter Datentypen und zur Verwaltung lokaler Objekte. In den Überlappungsbereichen der lokalen Graphen stehen abstrakte Kommunikationsfunktionen in Form von sog. Interfaces zur Verfügung. Die wesentliche Neuerung gegenüber nahezu allen bestehenden Arbeiten ist jedoch die Möglichkeit zur dynamischen Veränderung des verteilten Graphen; dies ermöglicht es beispielsweise, dynamische Lastverteilung oder Gittergenerierungsverfahren einfach und effizient zu implementieren. Damit können beliebig komplexe Datentopologien dynamisch erzeugt, migriert und wieder entfernt werden

    The Universal Safety Format in Action: Tool Integration and Practical Application

    Get PDF
    Designing software that meets the stringent requirements of functional safety standards imposes a significant development effort compared to conventional software. A key aspect is the integration of safety mechanisms into the functional design to ensure a safe state during operation even in the event of hardware errors. These safety mechanisms can be applied at different levels of abstraction during the development process and are usually implemented and integrated manually into the design. This does not only cause significant effort but does also reduce the overall maintainability of the software. To mitigate this, we present the Universal Safety Format (USF), which enables the generation of safety mechanisms based on the separation of concerns principle in a model-driven approach. Safety mechanisms are described as generic patterns using a transformation language independent from the functional design or any particular programming language. The USF was designed to be easily integrated into existing tools and workflows that can support different programming languages. Tools supporting the USF can utilize the patterns in a functional design to generate and integrate specific safety mechanisms for different languages using the transformation rules contained within the patterns. This enables not only the reuse of safety patterns in different designs, but also across different programming languages. The approach is demonstrated with an automotive use-case as well as different tools supporting the USF

    Travel Writing and Rivers

    Get PDF

    A Dynamic Data Model for Parallel Adaptive PDE Solvers

    No full text
    . A general method for designing parallel PDE solvers on dynamic data structures is presented. The method is validated by the parallelization of a real-world example code, a finite-volume Euler solver based on arbitrary polyhedral control volumes with adaptive remeshing. The resulting grid database is highly dynamic throughout the solution process, which enforces a layer-based strategy to handle complex, distributed data structures. The positive impacts of the object-oriented paradigm for (parallel) numeric computing are shown, although the general parallelization method is not restricted to OO programs. An example computation will be presented. 1 Parallel Adaptive Algorithms Adaptive algorithms for the numerical solution of PDE problems using unstructured grids require complex, dynamic data structures [2]. References provide a common technique for representing the connectivity relations between certain data objects (e.g. triangles and nodes in a finite-element context). The actual im..

    Dynamic Distributed Data (DDD) in a Parallel Programming Environment - Specification and Functionality

    No full text
    The parallel implementation of algorithms based on dynamic data structures (e.g. adaptive PDE solvers, sparse matrices) on architectures with distributed memory will unavoidably lead to various technical problems as for redundancy, consistency and load balancing. The module DDD is presented, which makes the development of dynamic parallel algorithms much easier. DDD consists of a formal model for describing distributed data, a functionality specification and a portable library implementation. The main goal of DDD is to provide a general and efficient interface connecting SPMD-style applications with various architectures and programming models. Contents 1 Motivation 3 2 Framework 5 3 Formal Model: Data Distribution 7 3.1 Parallelization in the DDD context : : : : : : : : : : : : : : : : : 7 3.2 The notion of "object" in DDD : : : : : : : : : : : : : : : : : : : 8 3.3 Global View of Data : : : : : : : : : : : : : : : : : : : : : : : : : 9 3.3.1 Global object. : : : : : : : : : : : :..

    Universal Safety Format: Automated Safety Software Generation

    No full text
    The development of safety-critical software requires a significant additional effort compared to standard software. Safety mechanisms, e.g., for mitigating hardware errors, have to be designed and integrated into the functional code. This results not only in substantial implementation overhead, but also reduces the overall maintainability of the software. In this paper, we present the Universal Safety Format (USF), which enables a model-driven approach that complies with the separation of concerns principle. Software safety mechanisms are specified as patterns via a domain-agnostic transformation language, separated from the functional software. Various domain-specific tools apply these safety patterns to domain-specific artifacts, such as code or software architecture models. This enables the reuse of safety patterns in multiple designs as well as in a single design to artifacts from different domains

    SUMMARY

    No full text
    The numerical solution of partial differential equations (PDEs) on unstructured grids using parallel computers leads to an increase in software complexity of several orders of magnitude when compared to a sequential, structured mesh code. Consequently, the design of simulation software with respect to code reuse over problem domains is of great importance. In this paper we review the steps of the PDE solution process with respect to parallel computing and discuss the modular structure of the UG software toolbox. The high–level object–oriented design of the numerical algorithms is shown in some detail to give the reader an impression how new components can be incorporated into the UG framework

    Standardization Of Protein Immunoprocedures Choriogonadotropin (Cg)

    No full text
    corecore